A user of a personal video recorder (PVR) conveniently may record a video stream at the same time the user is viewing the stream live, i.e., as the stream is being received by the user's television system. If the user desires to leave the room but not miss any part of the program being recorded, the user may manipulate a remote control device to cause the system to “pause”, i.e., to freeze a frame on the TV display while continuing to record the program.
When the user wants to resume viewing the program, he again manipulates the remote control device to cause play to resume (e.g., by pressing a “play” button on the remote device). However, current solutions to providing for a smooth transition in the video from “pause” to resumed play have drawbacks, which can be better understood after the following brief discussion.
Digital multimedia streams may be sent to receivers in a format known as Moving Pictures Expert Group (MPEG) standards such as MPEG-1, MPEG-2 (also used for DVD format), MPEG-4 and other block based transform codecs. In MPEG formatting, the data is encoded using MPEG principles, sent to the receiver, and then decoded at the receiver.
As recognized herein, MPEG frames may have timestamps (sometimes referred to as presentation timestamps, or PTS for short) that can be used to identify the frames. As also understood herein, however, a PTS may not be unique, because MPEG streams can undergo time base discontinuities between frame segments, after which PTS numbers can repeat. Accordingly, while a PTS value identifies a frame within a segment, it does not necessarily uniquely identify the frame within the entire stream.
With the above in mind, one way to resume play is simply not to care about the possibility of discontinuity and either resume playing the live feed or resume playing using the recorded feed using, as a best guess of where the video was paused, the PTS of the last live frame that was displayed at the time of pause. For reasons set forth above this can result in undesired discontinuities that hinder viewing enjoyment.
A second way to resume play is to essentially never show the live feed, but rather to always display the video from the recorded stream as though it were the live feed. While this avoids discontinuities because the live feed is never used for display, it results in latency (delays) particularly if the user changes channels. With the above drawbacks in mind, the solutions herein have been provided.